// 使用uni-app的uni.getSystemInfoSync()同步获取系统信息，并将其赋值给常量SYSTEM_INFO
let SYSTEM_INFO = uni.getSystemInfoSync();

// 导出一个计算状态栏高度的函数，如果SYSTEM_INFO中有statusBarHeight，则返回该值，否则返回0
export const getStatusBarHeight = () => SYSTEM_INFO.statusBarHeight || 20;

// 导出一个计算标题栏高度的函数
export const getTitleBarHeight = () => {
    // 判断uni.getMenuButtonBoundingClientRect方法是否存在，该方法用于获取胶囊按钮（在一些平台上是菜单按钮）的布局信息
    if (uni.getMenuButtonBoundingClientRect) {
        // 调用uni.getMenuButtonBoundingClientRect获取胶囊按钮的布局信息，解构赋值取出top和height
        let { top, height } = uni.getMenuButtonBoundingClientRect();
        // 计算标题栏高度：胶囊按钮高度加上两倍的（胶囊按钮顶部到状态栏顶部的距离）
        return height + (top - getStatusBarHeight()) * 2;
    } else {
        // 如果没有胶囊按钮信息，则返回一个默认标题栏高度，例如50px
        return 50;
    }
}

// 导出一个计算导航栏高度的函数，等于状态栏高度加上标题栏高度
export const getNavBarHeight = () => getStatusBarHeight() + getTitleBarHeight();

// 根据每个平台不同情况可以用 ifdef ifndef来判断 例如抖音小程序
// #ifdef MP-TOUTIAO
	// tt.getCustomButtonBoundingClientRect() ,获取自定义导航栏下不可改变的元素（比如左上角 logo/返回位置+ 右上角反馈+more+close）的位置信息。坐标信息以屏幕左上角为原点。
	console.log(tt.getCustomButtonBoundingClientRect())
// #endif
// #ifndef MP-TOUTIAO
	console.log("不是抖音小程序")
// #endif